Can Dynamic Analysis Make Prolog Fast?

نویسنده

  • Andrew Taylor
چکیده

interpretation is not without drawbacks. The algorithms involved can be difficult to implement and the resulting implementations slow. Although these problems can be remedied to some extent by employing a clear theoretical framework and employing suitable care in implementation, incorporating abstract interpretation into a Prolog implementation is far from easy. More troubling is that some non-logical features of Prolog present great difficulties to abstract interpretation. The worst of these is the construction at execution time of new calls to predicates. This can occur directly through the built-in predicate call/1 or less directly through the creation of predicates via assert/1 which are then executed. Implementations dependent on abstract interpretation presumably must either forbid such operations or force the user to provide information about them. It seems likely that this will be a problem for any method of static analysis.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An Imperative Extension to Alloy and a Compiler for its Execution

This thesis presents an extension of the Alloy specification language with the standard imperative programming constructs, allowing for the natural specification of dynamic systems. Using this extension, programmers can express stateful behavior directly, mixing declarative and imperative styles as desired. A relational semantics for the new imperative constructs will ensure that specifications...

متن کامل

Why It's Nice to be Quoted: Quasiquoting for Prolog

Prolog’s support for dynamic programming, meta programming and text processing using context free grammars make the language highly suitable for defining domain specific languages (DSL) as well as analysing, refactoring or generating expression states in other (programming) languages. Well known DSLs are the DCG (Definite Clause Grammar) notation and constraint languages such as CHR. These exte...

متن کامل

Fast and Accurate Strong Termination Analysis with an Application to Partial Evaluation

A logic program strongly terminates if it terminates for any selection rule. Clearly, considering a particular selection rule—like Prolog’s leftmost selection rule—allows one to prove more goals terminating. In contrast, a strong termination analysis gives valuable information for those applications in which the selection rule cannot be fixed in advance (e.g., partial evaluation, dynamic select...

متن کامل

A Dynamic System for Distributed Reasoning

This paper proposes a multi-agent, multi-threaded architecture for a distributed inference system for a dynamic group of agents. The system can opportunistically make use of new agents that join the group, whilst a proof is in progress. It can also recover if an agent leaves. Final proofs only make use of the knowledge bases of agents that are in the group when the inference is concluded, and a...

متن کامل

Approximate Dynamic Analysis of Structures for Earthquake Loading Using FWT

Approximate dynamic analysis of structures is achieved by fast wavelet transform (FWT). The loads are considered as time history earthquake loads. To reduce the computational work, FWT is used by which the number of points in the earthquake record are reduced. For this purpose, the theory of wavelets together with filter banks are used. The low and high pass filters are used for the decompositi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994